from game import zz_game
from zz import zz_log, zz_img

log = zz_log.of()


class Game(zz_game.ZZ_Game):
    def __init__(self, d, has_prize=True):
        super().__init__(d, has_prize)

    def get_name(self):
        return "王牌探险家"

    def check_done(self):
        return False

    def game_alert(self):
        self.log_msg("检查是否存在弹窗")
        while True:
            if self.alert_close('./game/img/王牌探险家/alert.png'):
                continue
            if self.alert_close('./game/img/王牌探险家/alert01.png'):
                continue
            if self.alert_close('./game/img/王牌探险家/alert02.png'):
                continue
            if self.alert_close('./game/img/王牌探险家/alert03.png'):
                continue
            break

    def play_alert(self):
        """
        选择操作
        :return:
        """
        index = 0
        w, h = self.d.window_size()
        while True:
            if self.img_exit('./game/img/王牌探险家/play_alert.png', 3):
                self.log_msg("角色选择")
            elif self.img_exit('./game/img/王牌探险家/play_alert01.png', 3):
                self.log_msg("技能选择")
            else:
                self.log_msg("无选择弹窗")
                break

            self.log_msg("点击选择卡片")
            self.d.click(w / 2 - (w * 0.1), (h / 2) - int(h * 0.2))
            self.d.sleep(1.5)

    def play(self):
        self.log_msg("等待进入战斗界面")
        self.img_exit('./game/img/王牌探险家/play_main.png')
        self.log_msg("已进入战斗界面")
        self.play_alert()
        self.log_msg("点击自动战斗")
        self.img_click('./game/img/王牌探险家/play_auto01.png')
        self.log_msg("点击2倍速度")
        self.img_click('./game/img/王牌探险家/play_auto.png')

        while True:
            if self.img_click("./game/img/王牌探险家/play_win.png", 3):
                self.log_msg("战斗胜利，点击确定")
                self.img_click("./game/img/王牌探险家/play_win_confirm.png")
                break

            self.play_alert()

            self.log_msg("检查是否存在卡片")
            if self.img_click("./game/img/王牌探险家/play02.png", 2):
                self.log_msg("点击奶瓶")
                continue
            if self.img_click("./game/img/王牌探险家/play03.png", 2):
                self.log_msg("点击骨头")
                continue
            self.d.sleep(10)

    def handle_main(self):
        self.log_msg("等待进入游戏主界面")
        self.d.sleep(10)
        self.log_msg("已进入游戏主界面")

        if self.not_prize_handle():
            return False

        for i in range(3):
            self.log_msg(f"开始第{i + 1}局游戏")
            self.game_alert()

            self.img_click_if_exists("点击选择关卡", './game/img/王牌探险家/play.png', './game/img/王牌探险家/play01.png')
            self.log_msg("滑动到最左")
            self.swipe_right()
            self.swipe_right()
            self.log_msg("点击选择")
            self.img_click('./game/img/王牌探险家/play01.png')
            self.log_msg("点击开始游戏")
            self.img_click('./game/img/王牌探险家/play_start.png')
            self.play()
            self.d.sleep(2)

        return True
